/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.treepoke.util.wsclient;

import com.treepoke.util.base.TPBaseWSClient;
import com.treepoke.util.dto.AuditoriaDTO;
import com.treepoke.util.dto.WebServiceDTO;
import com.treepoke.util.exception.BusinessException;
import com.treepoke.util.properties.TPConstant;
import java.util.Collection;

/**
 *
 * @author dpulido
 */
public class ConsultarAuditoriaWSClient extends TPBaseWSClient {

    private WebServiceDTO webServiceDTO;
    private static final String nombreServicio = "ConsultaWS";
    private static final String nombrePuerto = "ConsultaWSPort";
    private static final String nombreOperacion = "consultarLog";
    private static final String nombreOperacionUltimoIngreso = "consultarAuditoriaUltimoIngreso";
    private static final String protocoloTls = "http";
    private static final String protocoloSsl = "https";

    public ConsultarAuditoriaWSClient() {

        String dnsServidorAplicacion = TPConstant.getDNS_SERVIDOR_AUDITORIA();
        String nameSpace = "http://consulta.webservice.business.auditoria.crcc.com/";

        webServiceDTO = new WebServiceDTO();
        webServiceDTO.setEndpointUrl(protocoloTls+"://" + dnsServidorAplicacion + "/ConsultaWS/ConsultaWS");
        webServiceDTO.setNamespace(nameSpace);
        webServiceDTO.setNombreServicio(nombreServicio);
        webServiceDTO.setNombrePuerto(nombrePuerto);        
    }

    public Collection<AuditoriaDTO> consultarLog(AuditoriaDTO auditoriaDTO) throws BusinessException {
        webServiceDTO.setNombreOperacion(nombreOperacion);
        return (Collection<AuditoriaDTO>) consumeWebService(webServiceDTO, new Object[] {auditoriaDTO}, 
                AuditoriaDTO.class, true);
    }
    
    public AuditoriaDTO consultarAuditoriaUltimoIngreso(AuditoriaDTO auditoriaDTO) throws BusinessException {
        webServiceDTO.setNombreOperacion(nombreOperacionUltimoIngreso);
        return (AuditoriaDTO) consumeWebService(webServiceDTO, new Object[] {auditoriaDTO}, 
                AuditoriaDTO.class, false);
    }
    
}
